package com.ly.heart.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ly.common.core.domain.ActCurrentTaskVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.Date;

@Data
@ApiModel(value="采购入库单返回Vo")
@JsonInclude(JsonInclude.Include.ALWAYS)
@Accessors(chain = true)
public class KingPurchaseInventoryVo {

    @ApiModelProperty("采购入库单id")
    private String id;

    @ApiModelProperty ("单据编号")
    private String docCode;

    @ApiModelProperty ("入库日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
     private Date inventoryTime;

    @ApiModelProperty ("供应商id")
    private String supplierId;

    @ApiModelProperty ("供应商编码")
    private String supplierCode;

    @ApiModelProperty ("供应商名称")
    private String supplierName;

    @ApiModelProperty ("源单Id")
    private String sourceId;

    @ApiModelProperty ("源单物料明细Id")
    private String sourceMaterialDetailId;

    @ApiModelProperty ("物料明细Id")
    private String materialDetailId;

    @ApiModelProperty ("物料Id")
    private String materialId;

    @ApiModelProperty ("物料编码")
    private String materialCode;

    @ApiModelProperty ("物料名称")
    private String materialName;

    @ApiModelProperty ("规格型号")
    private String model;

    @ApiModelProperty ("库存单位")
    private String inventoryUnit;

    @ApiModelProperty ("实收数量")
    private String receiptsNum;

    @ApiModelProperty ("批号")
    private String batchNum;

    @ApiModelProperty ( "仓库id" )
    private String warehouseId;

    @ApiModelProperty ( "仓库编码" )
    private String warehouseCode;

    @ApiModelProperty ( "仓库名称" )
    private String warehouseName;

    @ApiModelProperty ( "仓位" )
    private String warehousePosition;

    @ApiModelProperty ( "仓位名称" )
    private String warehousePositionName;

    @ApiModelProperty ("采购单位")
    private String purchaseUnit;

    @ApiModelProperty ("价税合计")
    private String totalTaxPrice = "0.0";

    @ApiModelProperty ("税率")
    private String taxRate;

    @ApiModelProperty ("单价")
    private String price;

    @ApiModelProperty ("含税单价")
    private String containsTaxPrice;

    @ApiModelProperty ("税额")
    private String taxAmount;

    @ApiModelProperty ("金额")
    private String amountMoney;

    @ApiModelProperty ("税额(本位币)")
    private String taxAmountBase;

    @ApiModelProperty ("金额（本位币）")
    private String amountMoneyBase;

    @ApiModelProperty ("价税合计(本位币)")
    private String totalTaxPriceBase;

    @ApiModelProperty ("行号")
    private String lineNumber;

    @ApiModelProperty ("业务含税单价")
    private String businessTaxPrice;

    @ApiModelProperty ("业务单价")
    private String businessPrice;

    @ApiModelProperty ("创建人")
    private String createBy;

    @ApiModelProperty ("创建时间")
    @JsonFormat( pattern = "yyyy-MM-dd HH:mm:ss" )
    private Date createTime;

    @ApiModelProperty ("状态")
    private String state;

    @ApiModelProperty ("状态名称")
    private String stateName;

    @ApiModelProperty ( "流程实例id" )
    private String instanceId;

    @ApiModelProperty ( "当下审批人" )
    private String approvedUser;

    @ApiModelProperty ( "审批内容" )
    private String remark;

    @ApiModelProperty ( "当前任务信息" )
    private ActCurrentTaskVo currentTask;

    @ApiModelProperty ("是否推送金蝶")
    private Integer isSend;

    /**
     * 以下为新增字段，需要单独处理
     */
    @ApiModelProperty ( "累计退货数量" )
    private String totalReturnNum;

    @ApiModelProperty ( "累计退货退款数量" )
    private String totalReturnRefundNum;

    @ApiModelProperty ( "累计退货补货价税合计" )
    private String totalReturnReplenishTotalPriceTax;

    @ApiModelProperty ( "累计应付数量" )
    private String totalPayableNum;

    @ApiModelProperty ( "累计应付价税合计" )
    private String totalPayableTotalPriceTax;

    @ApiModelProperty ( "剩余应付数量" )
    private String surplusPayableNum;

    @ApiModelProperty ( "剩余应付价税合计" )
    private String surplusPayableTotalPriceTax;

    @ApiModelProperty ( "累计应付单对应源单金额" )
    private String totalPayableSourceDocAmount;

    @ApiModelProperty ( "剩余应付单对应源单金额" )
    private String surplusPayableSourceDocAmount;

    @ApiModelProperty ( "累计应付单对应源单价税合计" )
    private String totalPayableSourceDocTotalPriceTax;

    @ApiModelProperty ( "剩余应付单对应源单价税合计" )
    private String surplusPayableSourceDocTotalPriceTax;




    @ApiModelProperty ( "入库当月运费成本" )
    private String warehousingCurrentMonthFreightCost;

    @ApiModelProperty ( "当月物料成本" )
    private String currentMonthMaterialCost;

    @ApiModelProperty ( "当月总成本" )
    private String currentMonthTotalCost;

    @ApiModelProperty ( "当月单位成本" )
    private String currentMonthUnitCost;

    @ApiModelProperty ( "入库当月运费成本(本位币)" )
    private String warehousingCurrentMonthFreightCostBase;

    @ApiModelProperty ( "当月物料成本(本位币)" )
    private String currentMonthMaterialCostBase;

    @ApiModelProperty ( "当月总成本(本位币)" )
    private String currentMonthTotalCostBase;

    @ApiModelProperty ( "当月单位成本(本位币)" )
    private String currentMonthUnitCostBase;

}
